---
sidebar_position: 6
---

# ResponseSynthesizer (Синтезатор на отговори)

`Тази документация е преведена автоматично и може да съдържа грешки. Не се колебайте да отворите Pull Request, за да предложите промени.`

ResponseSynthesizer е отговорен за изпращането на заявката, възлите и шаблоните за подсказки към LLM, за да генерира отговор. Има няколко ключови режима за генериране на отговор:

- `Refine` (Подобряване): "създаване и подобряване" на отговор, като последователно се преминава през всеки извлечен текстов фрагмент. Това прави отделно LLM обаждане за всеки възел. Подходящо за по-подробни отговори.
- `CompactAndRefine` (Компактно и подобряване) (по подразбиране): "компактиране" на подсказката по време на всяко LLM обаждане, като се пълни с колкото може повече текстови фрагменти, които могат да се поберат в максималния размер на подсказката. Ако има твърде много фрагменти, които не могат да се поберат в една подсказка, се "създава и подобрява" отговор, като се преминава през няколко компактни подсказки. Същото като `refine`, но трябва да доведе до по-малко LLM обаждания.
- `TreeSummarize` (Сумиране на дърво): Дадени набор от текстови фрагменти и заявката, рекурсивно се конструира дърво и се връща кореновият възел като отговор. Подходящо за цели на сумиране.
- `SimpleResponseBuilder` (Прост създател на отговори): Дадени набор от текстови фрагменти и заявката, се прилага заявката към всеки текстов фрагмент, като се натрупват отговорите в масив. Връща конкатениран низ от всички отговори. Подходящо, когато трябва да изпълните същата заявка отделно за всеки текстов фрагмент.

```typescript
import { NodeWithScore, ResponseSynthesizer, TextNode } from "llamaindex";

const responseSynthesizer = new ResponseSynthesizer();

const nodesWithScore: NodeWithScore[] = [
  {
    node: new TextNode({ text: "Аз съм на 10 години." }),
    score: 1,
  },
  {
    node: new TextNode({ text: "Джон е на 20 години." }),
    score: 0.5,
  },
];

const response = await responseSynthesizer.synthesize(
  "Колко години съм?",
  nodesWithScore,
);
console.log(response.response);
```

## API Референция

- [ResponseSynthesizer (Синтезатор на отговори)](../../api/classes/ResponseSynthesizer.md)
- [Refine (Подобряване)](../../api/classes/Refine.md)
- [CompactAndRefine (Компактно и подобряване)](../../api/classes/CompactAndRefine.md)
- [TreeSummarize (Сумиране на дърво)](../../api/classes/TreeSummarize.md)
- [SimpleResponseBuilder (Прост създател на отговори)](../../api/classes/SimpleResponseBuilder.md)

"
